Database recovery is an activity of replacing an existing database or creating a new database using a previous version or copy of the backup taken at an older point of time and using transaction logs and any existing archive logs to apply the transactions to roll forward the database to a valid and consistent state.
Current recovery methods in conventional data servers exist, such as, for example:                Time-based recovery technique, also called point-in-time recovery (PITR), which recovers the data up to a specified point in time.        Transaction log based recovery technique where database is rolled forward till the transactions from a specific transaction log file (archive or un-archived) is applied.        Change-based recovery technique or log sequence recovery technique based on the system change number assigned by the data server.        
For these different techniques, a database user or a database administrator requires certain inputs. The time-based recovery technique requires timestamp information, transaction log based recovery technique requires information on log file location and name information and the change-based recovery technique requires System Change number (SCN) or Log Sequence Number (LSN).
When one uses one of these techniques, it is observed that recovery of a database without data loss is difficult unless at least one of the above noted inputs is known. Taking into account that many data servers today are becoming increasingly autonomic and business process oriented, it is desirable to develop a new technique where it is possible to do a database recovery based on the occurrence of a business process.